package com.hibase.core.excel.vo.config.detail;

import com.hibase.core.excel.vo.BaseViewExcelVO;
import com.hibase.core.web.annotation.HibaseValid;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * Excel 模板配置详情表
 *
 * @author <a href="mailto:xiongliyi@hichain.com">Ian Xiong</a>
 * @since 1.4.35-V2
 */
@Data
@HibaseValid
public class MdsExcelImportConfigDetailUpdateVO extends BaseViewExcelVO {

    @ApiModelProperty(value = "导入模板配置详情ID", required = true)
    @NotEmpty(message = "导入模板配置详情ID不能为空")
    private String id;

    @ApiModelProperty(value = "导入模板配置ID", required = true)
    @NotEmpty(message = "导入模板配置ID不能为空")
    private String bizImportConfigId;

    @ApiModelProperty(value = "业务数据集详情ID", required = true)
    @NotEmpty(message = "业务数据集详情ID不能为空")
    private String bizDataDetailId;

    @ApiModelProperty("Excel文件中head的组名称")
    private String columnGroupName;

    @ApiModelProperty(value = "列名", required = true, notes = "Excel文件中head的名称")
    @NotEmpty(message = "列名不能为空")
    private String columnName;

    @ApiModelProperty(value = "索引列(保证唯一)", required = true, notes = "索引列(保证唯一！)。索引列相同按字段顺序读取，可能会导致数据读取错乱")
    @NotEmpty(message = "索引列不能为空")
    private Integer columnNum;

    @ApiModelProperty("转换器类型(全路径)")
    private String converter;

    @ApiModelProperty("默认值")
    private Object defaultValue;

    @ApiModelProperty("版本号")
    @NotNull(message = "版本号不能为空")
    private Integer version;

}
